Ο Καλύτερος Τρόπος είναι μέσου του μηχανισμού DataBinding του Label.
παραθέτω τον κώδικα για την φόρμα και για το MyClass.
Για να μπορεις να δεις ότι αλλαζει Live εχει η φόρμα ένα textBox και ένα button που όταν πατηθεί κάνει το LabeName του MyClass ίδιο με το textBox1.Text και αλλάζει και το label.
public partial class Form1 : Form
{
MyClass _myClass;
public Form1()
{
InitializeComponent();
_myClass = new MyClass();
}
private void Form1_Load(object sender, EventArgs e)
{
label1.DataBindings.Add("Text", _myClass, "LabelName");
}
private void button1_Click(object sender, EventArgs e)
{
_myClass.ChangeLabel(textBox1.Text);
}
}
Ο Κωδικας της MyClass:
public class MyClass:INotifyPropertyChanged
{
private string _labelName;
public string LabelName
{
get { return _labelName; }
set
{
if (_labelName != value)
{
_labelName = value;
RaisePropertyChanged("LabelName");
}
}
}
public MyClass()
{
LabelName = "Test";
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
#endregion
public void ChangeLabel(string text)
{
LabelName = text;
}
private void RaisePropertyChanged(string propertyName)
{
if (PropertyChanged!=null)
PropertyChanged(this,new PropertyChangedEventArgs(propertyName));
}
}
}
"Success is the ability to go from one failure to another with no loss of enthusiasm."
Winston Churchill
"Quality means doing it right when no one is looking."
Henry Ford